part of 'theme.dart';

class WebPurchaseItemPageTextTheme {
  const WebPurchaseItemPageTextTheme._internal({
    required this.title,
    required this.subtitle,
    required this.purchaseItemTileDuration,
    required this.purchaseItemTileDurationLabel,
    required this.purchaseItemTilePrice,
    required this.purchaseItemTileMonthlyPrice,
    required this.yearPurchaseItemTileBadge,
    required this.purchaseRequestButton,
    required this.premiumFeatureTitle,
    required this.premiumFeatureSubtitle,
    required this.error,
  });

  factory WebPurchaseItemPageTextTheme.dark({
    required Color primaryContrastingColor,
  }) {
    return WebPurchaseItemPageTextTheme._internal(
      title: WebPurchaseItemPageStyles.titleTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      subtitle: WebPurchaseItemPageStyles.subtitleTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTileDuration:
          WebPurchaseItemPageStyles.purchaseItemTileDurationTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      purchaseItemTileDurationLabel:
          WebPurchaseItemPageStyles.purchaseItemTileDurationLabelTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      purchaseItemTilePrice: WebPurchaseItemPageStyles.purchaseItemTilePriceTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      purchaseItemTileMonthlyPrice:
          WebPurchaseItemPageStyles.purchaseItemTileMonthlyPriceTextStyle.copyWith(
        color: CoreStyles.lightGrey5,
      ),
      yearPurchaseItemTileBadge:
          WebPurchaseItemPageStyles.yearPurchaseItemTileBadgeTextStyle.copyWith(
        color: primaryContrastingColor,
      ),
      purchaseRequestButton: WebPurchaseItemPageStyles.purchaseRequestButtonTextStyle.copyWith(
        color: primaryContrastingColor,
      ),
      premiumFeatureTitle: WebPurchaseItemPageStyles.premiumFeatureTitleTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
      premiumFeatureSubtitle: WebPurchaseItemPageStyles.premiumFeatureSubtitleTextStyle.copyWith(
        color: CoreStyles.grey3,
      ),
      error: WebPurchaseItemPageStyles.errorTextStyle.copyWith(
        color: CoreStyles.defaultLightTextColor,
      ),
    );
  }

  final TextStyle title;
  final TextStyle subtitle;
  final TextStyle purchaseItemTileDuration;
  final TextStyle purchaseItemTileDurationLabel;
  final TextStyle purchaseItemTilePrice;
  final TextStyle purchaseItemTileMonthlyPrice;
  final TextStyle yearPurchaseItemTileBadge;
  final TextStyle purchaseRequestButton;
  final TextStyle premiumFeatureTitle;
  final TextStyle premiumFeatureSubtitle;
  final TextStyle error;
}
